#pragma once
 //子窗口类的创建
#include<qtextedit.h>

class QTextCharFormat;
class MyChild :public QTextEdit
{
	Q_OBJECT
public:
	MyChild(QWidget* parent = nullptr);
	~MyChild();

	//新建操作
	void newFile();
	//提取文件名
	const QString userFriendlyCurrentFile();
	//返回当前的文件名
	const QString currentFile();
	//加载文件
	bool loadFile(const QString& fileName);
	//保存文件
	bool save();
	//保存所有文件
	bool saveAs();
	//另存为(参数 fileName 为路径)
	bool saveFile(QString& fileName);

	//设置字体格式
	void mergeFormatOnSelection(const QTextCharFormat& format);

	//设置表头符号
	void setStyle(int style);
	//设置对齐方式
	void setAlign(int align);
	
protected:
	//关闭事件
	void closeEvent(QCloseEvent* event);

private slots:
	//文档被更改时，窗口显示更改状态标识
	void documentWasModified();

private:
	//获取较短的绝对路径
	const QString strippedName(const QString& fullFileName);
	void setCurrentFile(const QString& fileName);
	//提醒保存
	bool maybeSave();

	/*成员*/
	//保存当前文件路径
	QString curFile;
	//作为当前文件是否被保存到硬盘上的标识
	bool isUntitled;
};

